#ifndef CAMERA_H_INCLUDED
#define CAMERA_H_INCLUDED

#include "EventPoller.h"

#include "Vec3.h"

class Camera : public EventHandler
{
public:
	Camera();
	~Camera();
	inline Vec3f GetPos() { return m_pos; }
	inline void SetPos(const Vec3f& pos) { m_pos = pos; }
	inline Vec3f GetDest() { return m_dest; }
	inline void SetDest(const Vec3f dest) { m_dest = dest; }

	void Update();
	void OnKeyboardEvent(const SDL_KeyboardEvent& t);

private:
	Vec3f m_pos;
	Vec3f m_dest;
	float m_firingAngleXDiff;
	float m_aimingDistance;
	bool m_movingRight;
	bool m_movingLeft;
	bool m_movingUp;
	bool m_movingDown;
	bool m_movingIn;
	bool m_movingOut;

};

#endif